1. Field of the Invention
The present invention relates to information retrieval and, more particularly, to accelerated retrieval of content information over a network.
2. Description of the Related Art
The Internet is a resource for tremendous amounts of content information. As examples, the content information can include text, images or other types of data. A user normally accesses the Internet using a connection provided by a modem and a regular telephone line or ISDN line, or by a T1 line or leased line. The connection to the Internet may be indirectly through an Internet Service Provider (ISP) or more directly to the Internet (or World Wide Web). The higher the bandwidth supported by the connection, the better the responsiveness of the Internet to the user""s requests. For example, since a T1 line offers substantially greater bandwidth than does a 28.8 kbps modem and regular telephone line, the connection to the Internet provided by the T1 line will provide substantially faster responsiveness to a user""s requests than would the 28.8 kbps modem.
Internet proxy servers have been used to allow multiple users to share Internet access through a common high speed connection. Shared connections facilitate providing firewalls to prevent unauthorized access into the user""s (e.g., corporate) internal computers. These shared connections can also provide the Hypertext Transfer Protocol (HTTP) caching to allow improved responsiveness. Examples of such Internet proxy servers are (1) WinGate available from Deerfield Communications Company and (2) Microsoft Proxy Server available from Microsoft Corporation.
HTTP caching operates to locally store frequently accessed Internet material so that it becomes quickly available when subsequently requested. HTTP caching is described in the Hypertext Transfer Protocol (HTTP), version 1.1, which is hereby incorporated by reference. Such caching enables an organization to more efficiently share the bandwidth of the Internet connection. These Internet proxy servers can also provide site filtering to prevent user (behind the Internet proxy server) access to certain Internet sites.
Content negotiation is also known and described in the HTTP, version 1.1. Content negotiation is the process in which a HTTP response to a HTTP request is chosen to be that which is most suitable, assuming of course that there is a choice. The content negotiation can be client-driven or server-driven. The content differences being negotiated can vary widely but are nevertheless stored on a content server on the Internet. As an example, the content differences could be different languages or different size images. In such a case, a client may negotiate on behalf of a user with a server to receive smaller images instead of commonly provided larger images from the server. If the server can provide the smaller images, then the user is able to receive and display the information (here, images) faster than had their been no choice or no negotiation. Thus, in some cases, the negotiation facilitates improved bandwidth utilization and responsiveness of the Internet.
One problem with the conventional approaches to content delivery over the Internet is that most content servers do not offer multiple versions of information content. As a result, content negotiation, even if available, is not supported by most content servers. There are also no standards on what types of versions or variations of information content a content server should make available. Consequently, content negotiation is difficult to obtain over the Internet.
Another problem is that while caching can improve responsiveness of the Internet to requests, it speeds only subsequent requests for the same information from a shared Internet connection. As a result, there is never any performance improvement for initial requests for information content from the Internet.
Thus, there is a need for improved techniques for rapid and efficient delivery of information content from the Internet to a user.
Broadly speaking, the invention relates to improved techniques for rapid and efficient delivery of objects from a network (e.g., the Internet) to users. The improved techniques can be utilized in a variety of apparatuses, including a proxy system or an acceleration apparatus. Such a proxy system operates to produce an accelerated version of content information from the network, cache the accelerated version (and possibly original versions) for subsequent requests for the same information content, and supply the accelerated version of the information content to a requesting user.
The invention can be implemented in numerous ways, including as a system, an apparatus, a method, or computer readable medium. Several embodiments of the invention are summarized below.
As a proxy system for distributing data objects, one embodiment of the invention includes a proxy server and an acceleration unit. The proxy server operates to receive from a network browser an object request and to manage the forwarding of the requested object to the network browser. The proxy server is also connected to a network, and the requested object is accessible by the proxy server via the network. The acceleration unit is coupled to the proxy server and is also connected to the network. The acceleration unit operates to identify the requested object, pre-fetch the requested object having an original size from a content provider coupled to the network, reduce the size of the retrieved object to a reduced size, and provide the requested object with the reduced size to the proxy server.
As a proxy system for retrieval of image files over a network, one embodiment of the invention includes an image cache memory, a proxy server and an acceleration unit. The image cache memory for storing image files that have previously been requested over the network. The proxy server operates to receive an image file request from a network browser and to manage the forwarding of the requested image file to the network browser. The acceleration unit includes at least an observer, an image manager, and an accelerator. The observer operates to identify requests for image files received by the proxy server. The image manager operates to retrieve the requested image file having an original size from the content provider via the network and to examine the requested image file to determine whether acceleration would be advisable. The accelerator operates, when acceleration has been determined to be advisable, to receive the requested image file having the original size from the image manager and then to reduce the size of the requested image file with the original size so as to produce the requested image file with the reduced size, and thereafter causing the requested image file with the reduced size to be stored to the image cache memory.
As an acceleration apparatus for producing accelerating versions of objects, an embodiment of the invention includes: an object manager and an accelerator. The object manager operates to retrieve a requested object having an original size from a remotely located computer over a network, and to examine the requested object to determine whether acceleration would be advisable. The accelerator operates when acceleration has been determined to be advisable to receive the requested object having the original size from the object manager and then to reduce the size of the requested object with the original size so as to produce the requested object with the reduced size, and thereafter causing the requested object with the reduced size to be supplied to a requestor of the requested object.
The advantages of the invention are numerous. One advantage of the invention is that substantial performance gains in responsiveness and bandwidth utilization are achieved with the invention. Another advantage of the invention is that accelerated versions of content information are produced and cached locally so that content servers need not concern themselves with offering and supporting multiple versions of the content provided on their content servers. Yet another advantage is that initial requests for content not yet cached locally may also be provided with improved responsiveness.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.